/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package listas;

import client.MailClient;
import java.io.Serializable;
import java.util.ArrayList;
import mensaje.Message;
import java.util.LinkedList;

/**
 * Esta clase define objetos que contienen listas de los usuarios de correo.
 * @author HaNs
 * @version v1.1.1
 */
public class ListaClientes implements Serializable{
    private ArrayList<MailClient> clientes;

 /**
  * Constructor de la clase
  */
    public ListaClientes() {
        clientes = new ArrayList<>();
    }//Cierre del constructor
 
 /**
  * Metodo que registra/agrega un usuario de correo.
  * @param MailClient El parametro MailClient define el usuario de correo a ser 
  * regitrado/agregado.
  */   
    public void agregarCliente(MailClient clienteAgregar){
        clientes.add(clienteAgregar);
    }//Cierre del método

/**
 * Método que devuelve la cantidad de usuarios de correo registrados.
 * @return int Un objeto entero que es el resultado de la cantidad de usuarios de
 * correos registrados.
 */    
    public int cantidadAgregados(){
        return clientes.size();
    }//Cierre de método
    
    
 /**
  * Método que devuelve un usuario de correo.
  * @param posicion El parametro posicion define el numero de lugar de un 
  * usuario de correo en la lista.
  * @return MailClient Un objeto MailClient con el resultado de un usuario de 
  * correo.
  */   
    public MailClient obtenerCliente(int posicion){
        try {
            return clientes.get(posicion);
        } catch (IndexOutOfBoundsException  e) {
            return null;
        }
    }//Cierre del método
 
/**
 * Método que elimina un usuario de correo.
 * @param posicion El parametro posicion define el numero de lugar de un 
 * usuario de correo en la lista.
 */    
    public void eliminarClientePosicion(int posicion){
        clientes.remove(posicion);
    }// Cierre del método
}//Cierre de la clase
